home *** CD-ROM | disk | FTP | other *** search
/ Resource Library: Multimedia / Resource Library: Multimedia.iso / _archive / utils / graphics / convrtrs / mac / nh-mg-nf.txt < prev    next >
Internet Message Format  |  1993-06-12  |  20KB

  1. From: salzman@Athena.MIT.EDU
  2. Date: Wed, 31 Mar 93 21:55:54 -0500 
  3. Subject: NIH-Image.149_info.txt 
  4.  
  5.  
  6. NIH Image
  7. ---------
  8. NIH Image is a public domain program for the Macintosh for doing digital
  9. image processing and analysis. It can acquire, display, edit, enhance,
  10. analyze, print, and animate grayscale and color images.  It reads and writes
  11. TIFF, PICT, PICS and MacPaint files It features multiple windows,
  12. MacPaint-like editing and 8 levels of magnification. It supports Data
  13. Translation and Scion frame grabber cards. Image requires at least 4MB of
  14. RAM and 8-bit video. The following files in the directory /pub/image contain
  15. NIH Image, documentation, source code, and example images.
  16.  
  17.    image1xx.hqx         NIH Image 1.xx application
  18.    image1xx_docs.hqx    Documentation in Word 5.0 format
  19.    image1xx_source.hqx  Think Pascal 4.0 source
  20.    image1xx_NonFPU.hqx  Version that does not require a floating-point chip
  21.    images               Directory with images in TIFF and PICT format
  22.    stacks               Example stacks(3D images and movies) (directory)
  23.    image_spinoffs       Contains variants of NIH Image(directory) 
  24.    misc                 Directory containing miscellaneous related programs
  25.  
  26. File Formats
  27. ------------
  28. Files are in one of three formats.  Those with a ".hqx" suffix are BinHex
  29. encoded Mac binary files, those with a ".bin" suffix are MacBinary encoded
  30. Mac binary files, and those with a ".txt" suffix are a plain text files. The
  31. BinHex and MacBinary formats represent the two parts of a Mac file(the data
  32. fork and the resource fork) as a single file. They permit storage of a
  33. complete Mac file on a non-Mac system, such as this server.
  34.  
  35. Most files were compressed using the Mac utility Stuffit 1.5.1 and uploaded
  36. using Fetch, which does the BinHex or MacBinary encoding. Both utilities can
  37. be found in the util directory. The best way to retrieve files is to use
  38. Fetch, which automatically does Binhex(or MacBinary) decoding and file
  39. decompression. Unfortunately, Fetch requires a Mac directly connected to the
  40. Internet. If this is not the case,  use an FTP(File Transfer Protocol)
  41. utility to transfer the files to a local host and then transfer them to a
  42. Mac via modem.
  43.  
  44. For Macs not directly on the Internet, BinHex files must be transferred to
  45. a Mac using "ascii" mode and then decoded and decompressed using Stuffit or
  46. some other Mac compression utility, such as Compact Pro. MacBinary files
  47. must be transferred using "binary" mode and decompressed on a Mac using
  48. Stuffit or Compact Pro. A copy of Stuffit 1.5.1 is in the directory
  49. /pub/util in MacBinary format. The document "ftp-primer.txt" in the
  50. documents directory provides more information on file formats and FTP.
  51.  
  52.  
  53. NIH Image Mailing List
  54. ----------------------
  55. There is an NIH Image mailing list. It was set up by a group in the Soil
  56. Science Department at the University of Minnesota. To subscribe, send a
  57. message containing the line "subscribe nih-image <your name>" to
  58. soils.umn.edu.
  59.  
  60.  
  61. DepthGauge
  62. ----------
  63. DepthGauge is a control panel that allows rapid switching between
  64. monitor depths settings(e.g. 8-bit color and 24-bit color).
  65.  
  66.  
  67. Fetch(/pub/util)
  68. ----------------
  69. Fetch is a slick utility that allows networked Macs to transfer files
  70. over the Internet using the File Transfer Protocol(FTP). It does
  71. BinHex decoding and file decompression as the files are transferred.
  72.  
  73. Giffer(/pub/image/misc)
  74. -----------------------
  75. Giffer is a shareware program useful for converting from GIF to Pict
  76. format, and vis-versa.
  77.  
  78. ImageFFT(/pub/image/image_spinoffs)
  79. -----------------------------------
  80. ImageFFT is an extension to NIH Image to support frequency domain (power
  81. spectrum) display and editing. It can do a 512x512 FFT in 18 seconds on a
  82. Mac IIfx.
  83.  
  84. ImageFractal(/pub/image/image_spinoffs)
  85. ---------------------------------------
  86. ImageFractal is a version of Image modified to compute the Fractal Index
  87. of objects by the Richardson Plot or the Tile-amalgamation methods.
  88.  
  89. Image/MG(/pub/image/image_spinoffs)
  90. -----------------------------------
  91. Image/MG is an extension of Image supporting quantitative evaluation
  92. of cerebral blood flow, glucose metabolism, and protein synthesis.
  93.  
  94. NCSA PalEdit(/pub/image/misc)
  95. -----------------------------
  96. NCSA PalEdit is a public domain program from the National Center for
  97. Supercomputing Applications for creating and customizing color palettes.
  98. With PalEdit, you can modify the whole palette or individual entries in the
  99. palette, to create a set of colors tailored to your needs. PalEdit can save
  100. palettes in a format compatible with NIH Image.
  101.  
  102. LaboratoryToolbox(/pub/image/misc)
  103. -----------------
  104. The Laboratory Toolbox is a Hypercard Stack which originated as a tool
  105. for teaching laboratory computing. It implements an object oriented
  106. "Laboratory Notebook" structure for the acquisition and management
  107. of sensor based data within a laboratory environment.
  108.  
  109. MockWrite
  110. ---------
  111. MockWrite is a simple DA text editor that is convenient for editing macros
  112. written in Image's Pascal-like macro programming language.
  113.  
  114. Projectionist(/pub/image/misc)
  115. ------------------------------
  116. Projectionist is a utility that allows you to animate stacks created
  117. by Image and saved in PICS format. Because all the frames in the
  118. stack do not need to be loaded into RAM, Projectionist requires
  119. less memory than image. This preliminary version uses the standard
  120. system palette, so stacks created with Image may lose some of
  121. their colors when animated with Projectionist.
  122.  
  123.  
  124.  
  125.  
  126. NIH Image Change History
  127. ------------------------
  128.  
  129. V1.45 (27-July-1992)
  130.  
  131. 1) A bug was fixed that could cause Image to crash after creating a stack
  132. from a set of windows, one of which is the Camera Window.
  133.  
  134. 2) The Rotate Right and Rotate Left commands no longer convert stacks to a
  135. single image.
  136.  
  137. 3) A new command(Montage) for creating a composite image from the slices in
  138. stack was added to the Stacks menu.
  139.  
  140. 4) A bug was fixed that caused Revert to Saved to invert imported 8-bit
  141. images.
  142.  
  143. 5) A bug was fixed that caused macros(e.g. "Measure All") making density
  144. measurements on more than one density calibrated image to generate incorrect
  145. results.
  146.  
  147. 6) Image now provides better approximations of the original 16-bit values
  148. when importing 16-bit images with Calibrate checked. The approximated values
  149. should not vary from the original 16-bit values by more than (Max-Min)/254,
  150. where Min and Max are the minimum and maximum 16-bit values.
  151.  
  152. 7) A bug was fixed that prevented saving of outlines when the active window
  153. was a stack.
  154.  
  155. 8) A command was added to the macro language for doing background
  156. subtraction. It has the form SubtractBackground('Options', BallRadius),
  157. where 'Options' is one of the following: '1D Horizontal', '1D Vertical', '2D
  158. Rolling Ball' or '2D Remove Streaks'.  Add the keyword 'faster' to the
  159. Options string(e.g. '2D Rolling Ball(faster)') for faster operation.
  160.  
  161. 9) A bug was fixed that caused the contrast slide control in the Map window
  162. to work incorrectly at either very high or very low brightness settings.
  163.  
  164. 10) A bug was fixed that could cause Analyze Particles to fail when the
  165. current background color was not white.
  166.  
  167. 11) A bug was fixed that sometimes caused the results counter to not be
  168. reset when using Analyze Particles.
  169.  
  170. 12) The pixels used to generate the profile plot are now highlighted if you
  171. hold down the mouse button and drag in the Plot window.
  172.  
  173. 13) PICT files scanned on flatbed scanners at greater than 72dpi resolution
  174. now open correctly. For example, a one inch square area scanned at 300dpi
  175. now opens as a 300x300 image instead of a 72x72 image.
  176.  
  177. 14) The Get Info command now shows which version of Image created the
  178. image.
  179.  
  180. 15) The Enhance Contrast command now works with pseudo-colored images.
  181.  
  182. 16) A macro for creating lookup table gamma functions was added to the LUT
  183. Macros file in the Macros folder.
  184.  
  185. 17) The Subtract Background routine now smoothes the image before shrinking
  186. it. To shrink by a factor of 8 it uses the lowest pixel value in the 8x8
  187. neighborhood, making it very susceptible to noise unless the image is first
  188. smoothed. I was also changed to shrink the image by a factor of 2 or 4
  189. (instead of 4 or 8) when the radius is 15 or less.
  190.  
  191. 18) A bug was fixed in Redo Measurement that caused the Cancel button to
  192. work the same as the OK button.
  193.  
  194. 19) The Threshold command now automatically determines the optimum
  195. threshold using an Iterative technique first described by Ridler and Calvard
  196. in IEEE transactions on Systems, Man and Cybernetics, 1978. This feature is
  197. available from macros using the new AutoThreshold command.
  198.  
  199. 20) A command was added to the macro language for specifying what gets
  200. exported when using the Export command. It has the form "SetExport('mode')",
  201. where 'Mode' is one of the following: 'Raw', 'MCID', 'Text', 'LUT',
  202. 'Measurements', 'Plot Values', Histogram Values' or 'XY Coordinates'.
  203.  
  204. 21) The SaveAs and Export macro commands now accept a file name argument.
  205.  
  206. 22) Redirected sampling now works with rectangular selections.
  207.  
  208. 23) XY Coordinates of line selections created on zoomed images are now
  209. exported correctly.
  210.  
  211. 24) A bug(introduced in V1.44) was fixed that caused the perimeter to be
  212. computed incorrectly for zoomed images.
  213.  
  214. 25) Profile plots now start at the point where the mouse is first clicked
  215. rather than at the left end of the line selection. A new macro called "Plot
  216. Radial Density Profiles" in the file "Measurement Macros" illustrates this
  217. new capability.
  218.  
  219. 26) The SetDensitySlice macro command no longer allows the lower threshold
  220. to be set less than 0 or the upper threshold to be set to more than 254.
  221. Setting the lower threshold to 0 could cause Image to crash when using
  222. Analyze Particles.
  223.  
  224. 27) The slice spacing used by the Reslice command is now specified in
  225. calibrated units, such as millimeters.
  226.  
  227. 29) Macros(in "Stacks") were written to import GE Signa MRI volumes and to
  228. do reslicing(e.g. generate coronals from sagital slices). The macros assume
  229. 256x256 slices with a 240mm field of view.
  230.  
  231. 30) Support was added for the new Scion LG-3 frame grabber card. The LG-3
  232. is similar to the Data Translation QuickCapture card, but has more features
  233. and is less expensive. It has analog brightness and contrast control plus a
  234. frame buffer that can be expanded up to 64MB using standard Mac SIMMS. These
  235. features, however, are currently not supported by Image. 
  236.  
  237.  
  238. V1.46b36 Beta (never released)
  239.  
  240. 1) A bug was fixed that could potentially cause problems when using the
  241. Scion LG-3 frame grabber.
  242.  
  243. 2) The line selection and profile plotting tools now force the starting and
  244. ending coordinates to be within the image boundary. This fixes a problem
  245. that sometimes caused the starting or ending profile plot values to be
  246. invalid when doing profile plots on zoomed images.
  247.  
  248. 3) The "Highlight Saturated Pixels" option in the Video Options dialog box
  249. now displays over saturated pixels in red under saturated pixels in blue.
  250.  
  251. 4) The analog video input offset(brightness) and gain(contrast) can now be
  252. adjusted in the Video Options dialog box while capturing using the Scion
  253. LG-3 frame grabber.
  254.  
  255. 5) The Analyze Particles command no longer disables particle labeling when
  256. there are more than 200 particles.
  257.  
  258. 6) New commands("RGB to 8-bit Color" and "8-bit Color to RGB") were added
  259. to the Stacks menu for converting RGB color images(in the form of a three
  260. slice stack) to 8-bit indexed color and 8-bit color images into RGB.
  261.  
  262. 7) Bugs were fixed that could cause the Make Movie and Capture Frames
  263. commands to fail when using the Scion LG-3 frame grabber.
  264.  
  265. 8) On multi-monitor systems, windows are no longer limited to the size of
  266. the primary monitor . 
  267.  
  268. 9) A bug was fixed that caused Make Movie and Capture Frames to work
  269. incorrectly with selections larger than 552X436 on 13 inch monitors.
  270.  
  271. 10) A bug was fixed in the Open and Import macro routines that sometimes
  272. caused images to not be displayed.
  273.  
  274.  
  275. V1.47 (15 Oct 1992)
  276.  
  277. 1) 24-bit RGB color images can now be captured. This requires an RGB color
  278. camera with a separate composite sync outlet. When using the Scion LG-3
  279. frame grabber the optional four channel cable(CRGB-LG3) is required and
  280. "Separate Sync" must be checked in Video Control. With the Data Translation
  281. QuickCapture, the W5 jumper must be installed and the red, green, blue and
  282. sync camera outputs connected to the QuickCapture cables 1, 0, 2 and 4
  283. respectively. Color capture requires System 7 and Image must be allocated at
  284. least four megabytes of RAM.
  285.  
  286. 2) 16-bit to 8-bit rescaling(windowing and leveling) of 16-bit imported
  287. images is now supported. A new command called Rescale replaces Revert to
  288. Saved whenever an imported 16-bit image is active. It linearly scales the
  289. 16-bit data(on disk) from the range Min-Max to 1-254, where Min and Max are
  290. specified using the controls in the Map window or by using the LUT tool.
  291. 16-bit pixels with values less than Min are set to 1 and 16-bit pixels with
  292. values greater than Max are set to 254. The computed absolute minimum and
  293. maximum pixel values will be used if the LUT has not been altered. Enabling
  294. "Highlight Saturated Pixels" in the Preferences dialog box causes pixels
  295. that were less than or equal to Min to be blue and pixels that were greater
  296. than or equal to Max to be red.
  297.  
  298. 3) A command(InverLUT) was added to the macro language for inverting the
  299. video look-up table.
  300.  
  301. 4) Support was added for the 50 Hz(PAL or CCIR) version of the Scion LG-3
  302. frame grabber, which captures 768 X 512 frames.
  303.  
  304. 5) A command was added to the macro interpreter for accessing user written
  305. Pascal code in the User.p source code module. It has the form
  306. "UserCode(CodeNumber, Param1, Param2, Param3)", where CodeNumber is a
  307. positive integer used to specify which code routine is called and Param1,
  308. Param2 and Param3 are real input parameters.
  309.  
  310. 6) A bug was fixed that caused the Measure and Analyze Particles commands
  311. to compute angles incorrectly for objects at exactly 45 or 135 degree
  312. angles.
  313.  
  314.  
  315. V1.48b73(never released)
  316.  
  317. 1) The Rotate Right and Rotate left commands are now much faster thanks to
  318. a new PutColumn routine contributed by Edward J. Huff.
  319.  
  320. 2) Selections larger than the undo buffer can now be saved in TIFF format
  321. and exported as raw data.
  322.  
  323. 3) A bug was fixed that could sometimes cause the spatial scale to change
  324. if you clicked in the Scale field of the Set Scale dialog box.
  325.  
  326. 4) The macro interpreter was speeded up and the run-time macro error
  327. messeges were improved.
  328.  
  329. 5) A bug(introduced in V1.47) was fixed that caused the Measure and Analyze
  330. Particles commands to display NAN(Not a Number) for the major and minor axis
  331. for perfectly round objects. Note that the Major and minor axis are still
  332. incorrect for one pixel wide diagonal objects.
  333.  
  334. 6) The x-y coordinates of the current selection are now available from
  335. within macros using the built-in arrays xCoordinates[n] and yCoordinates[n].
  336. The number of coordinates can be obtained using the macro function
  337. nCoordinates. For an example, look at the macro "Plot X-Y Coordinates" in
  338. "Measurement Macros".
  339.  
  340. 7) A string data type was added to the macro interpreter. Strings have a
  341. maximum length of 255 characters and string comparisons are case
  342. insensitive. Three functions were also added:
  343.  
  344.     str:=GetString('Prompt'[,'default') - Puts up a dialog
  345.     box requesting string input. The first argument is the
  346.     prompting message and the second(optional) argument
  347.     is the default input string.
  348.  
  349.     str:=chr(n) - Converts a positive integer in the range
  350.     0..255 to a one character string(e.g. chr(65) = 'A').
  351.  
  352.     n:=ord(str) - Returns the ordinal number of the first
  353.     character in a string(e.g. ord('A')=65). Returns -1 if the
  354.     string is empty
  355.  
  356.     str:=concat(str1, str2,...) - Takes a series of strings
  357.     and concatenates them.
  358.  
  359. Example macros illustrating the use of strings are available in the file
  360. "Serial I/O and Strings".
  361.  
  362. 8) Three new routines were added to the macro interpreter to support Serial
  363. I/O:
  364.  
  365.    OpenSerial('Options') - 'Options' is a string containing
  366.     '1200 baud', '2400 baud', '9600 baud' or '19200 baud';
  367.     'no parity', 'even parity' or 'odd parity'; 'seven data' or
  368.     'eight data';  'One stop' or 'two stop'. The default is
  369.     '9600 baud, no parity, eight data, one stop'.
  370.  
  371.     str:=GetSerial - Returns the next available character in
  372.     the serial(modem) input buffer as a one character string
  373.     or returns an empty string if the buffer is empty.
  374.  
  375.     PutSerial(str) - Writes 'str' to the modem port.
  376.  
  377. Macros could be written using these routines to control a motorized stage
  378. or to control a VCR to play back time lapse video. Example macros
  379. illustrating serial I/O are available in the file "Serial I/O".
  380.  
  381. 9) An optional second argument was added to the SetPrecision macro command
  382. to specify the field width used in the results window.
  383.  
  384. 10) A new macro command was added for changing the cursor. It has the form
  385. SetCursor('str'), where 'str' is 'watch', 'cross' or 'arrow'.
  386.  
  387. 11) The macro interpreter's stack size was increased from 100 to 150
  388. variables.
  389.  
  390. 12) The macros in More Macros("AND Mode", "OR Mode", etc) that allow you to
  391. easily switch transfer modes while pasting are now working again. They broke
  392. in V1.44.
  393.  
  394. 13) Compute bound macros now allow background tasks(e.g. System 7 file
  395. sharing or Retrospect Remote) to run.
  396.  
  397. 14) Macros looping within a REPEAT UNTIL statement can now be aborted using
  398. Command-Period.
  399.  
  400. 15) The maximum size of macro files was increased from 15,000 to 30,000
  401. bytes.
  402.  
  403. 16) A macro(in "Serial I/O") was written to send commands over the serial
  404. port to the Newport PMC200-P programmable 2-axis motion controller.
  405. Instructions on how to connect the PMC200-P to the Mac modem port are
  406. contained in a comment at the beginning of the macro. 
  407.  
  408. 17) A function(TickCount) was added to the macro language that returns the
  409. current number of ticks(sixtieths of a second) since the system last
  410. started.
  411.  
  412. 18) Undo now works with palettes that have been edited by double clicking
  413. in the LUT window with the eye dropper tool.
  414.  
  415. 19) The angle measurement tool now creates a line selection instead of
  416. drawing lines.
  417.  
  418. 20) A bug was fixed that could cause objects to be drawn outside of the
  419. image window boundary when opening object oriented PICT files created by
  420. drawing programs such as MacDraw.
  421.  
  422. 21) The AverageFrames macro command no longer displays a dialog box.
  423.  
  424. 22) A bug was fixed that, when thresholding, caused pixels with a value
  425. equal to the threshold to be displayed in white(backround) instead of black.
  426.  
  427. 23) A new command was added to the Stacks menu that computes an image that
  428. is the average of all the slices in the current stack.
  429.  
  430. 24) A new command was added to the macro language for setting various Video
  431. Control options. It has the form SetVideo('str'), where 'str' is a string
  432. containing some combination of 'Invert, 'Highlight',  'Oscillating',
  433. 'Trigger', 'Blind' or 'Separate'. Any option not specified is disabled.
  434.  
  435. 25) Several problems that relate to thresholding of pseudocolored images
  436. were fixed.
  437.  
  438. 26) Profile plotting now works with irregular line selections.
  439.  
  440. 27) The axis labeling of density profile plots was improved.
  441.  
  442. 28) The Average Frames command can now use the Scion LG-3's on-board memory
  443. to capture frames at 30 per second. When averaging 32 frames, for example,
  444. the frames are captured in one second instead of 15-25 seconds. It will
  445. still take 15-25 seconds, however, to compute the average. A 4MB LG-3 can
  446. capture 8 frames at 30fps and one with 16MB can capture 32. 
  447.  
  448.  
  449. V1.49(31 March 1993)
  450.  
  451. 1) The preferences item called "Load System LUT when switching" is now
  452. recorded when you do a record preferences.
  453.  
  454. 2) Thanks to Edward J. Huff, balloon help is now available in the Tools,
  455. Map and LUT windows, and for some of the menu commands.
  456.  
  457. 3) A a new function was added to the macro language for converting strings
  458. to real numbers. It has the form: n:=StringToNum(s), where n is a real
  459. number and s is a string. It returns zero if the string contains no digits.
  460. StringToNum can be used to get around the seven digit limit on the precision
  461. of numeric constants(they are stored as four byte reals). For example, 
  462.  
  463.       n1:=123456789;
  464.       n2:=StringToNum('123456789');
  465.       PutMessage(n1,'  ',n2);
  466.  
  467. will display '123456792  123456789'.
  468.  
  469.  
  470.  
  471.